package br.com.news.web;

import java.io.Serializable;
import java.util.Date;

import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;

import br.com.news.utils.database.beans.AnuncioBean;
import br.com.news.web.service.AnuncioService;

@ViewScoped
@ManagedBean
public class AnuncieMB extends BaseMB implements Serializable {

	private static final long serialVersionUID = 1L;
	
	private AnuncioBean anuncio;
	
	public AnuncieMB() {
		anuncio = new AnuncioBean();
	}
	
	public void salvar() {
		if (anuncio != null) {
			if (anuncio.getNome() == null || anuncio.getNome().equals("")) {
				addErrorMessage("Favor preencher o nome!");
				return;
			}
			
			if (anuncio.getEmail() == null || anuncio.getEmail().equals("")) {
				addErrorMessage("Favor preencher o email!");
				return;
			}
			
			if (anuncio.getCnpj() == null || anuncio.getCnpj().equals("")) {
				addErrorMessage("Favor preencher o CNPJ!");
				return;
			}
			
			if (anuncio.getTelefone() == null || anuncio.getTelefone().equals("")) {
				addErrorMessage("Favor preencher o telefone!");
				return;
			}
			
			if (anuncio.getMensagem() == null || anuncio.getMensagem().equals("")) {
				addErrorMessage("Mensagem obrigatorio");
				return;
			}
			if (anuncio.getMensagem() != null && anuncio.getMensagem().length() > 400) {
				FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR,
						"Mensagem não pode exceder 400 caracteres!",
						"Mensagem não pode exceder 400 caracteres!");
				FacesContext.getCurrentInstance().addMessage("formPadrao", message);
				return;
			}
			AnuncioService anuncioService = new AnuncioService();
			anuncio.setDataCriacao(new Date());
			anuncio.setFlagEnvioEmail(false);
			anuncioService.save(anuncio);
			
			addInfoMessage("Anuncio enviado com sucesso!");
			
			
			
			FacesContext ctx = FacesContext.getCurrentInstance();  
			ctx.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO,"Anuncio salvo com sucesso! Em breve entraremos em contato!","Anuncio salvo com sucesso! Em breve entraremos em contato!")); 
		}
	}

	public AnuncioBean getAnuncio() {
		return anuncio;
	}

	public void setAnuncio(AnuncioBean anuncio) {
		this.anuncio = anuncio;
	}
	
	
	
}
